import vuePlugin from 'eslint-plugin-vue'
import htmlPlugin from 'eslint-plugin-html'
import jsonPlugin from 'eslint-plugin-json'
import prettierConfig from 'eslint-config-prettier'
import prettierPlugin from 'eslint-plugin-prettier'
import vueParser from 'vue-eslint-parser'

export default [
  // 基础配置
  {
    files: ['**/*.{vue,js,jsx,ts,tsx,json,html}'],
    languageOptions: {
      ecmaVersion: 'latest',
      sourceType: 'module',
      globals: { /* 保持不变 */ },
      parser: vueParser,
      parserOptions: {
        ecmaFeatures: { jsx: true },
        parser: '@babel/eslint-parser',
      },
    },
  },

  // Vue 插件配置
  {
    files: ['**/*.{vue,js,jsx,ts,tsx}'],
    plugins: { vue: vuePlugin },
    rules: {
      'no-restricted-globals': ['error', 'event', 'fdescribe'],
      'no-debugger': 'off',
    },
  },

  // HTML 和 JSON 插件
  {
    files: ['**/*.{html,json}'],
    plugins: { html: htmlPlugin, json: jsonPlugin },
  },

  // Prettier 配置（必须放在最后！）
  {
    files: ['**/*.{vue,js,jsx,ts,tsx,html,json}'],
    plugins: { prettier: prettierPlugin },
    rules: {
      'prettier/prettier': 'error'
    }
  },
  // 显式扩展 eslint-config-prettier（关闭冲突规则）
  prettierConfig,
]
